package com.chy.mybatis.Reflect;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

/**
 * 功能：
 * <p>
 * ──────────────────────────────────────────
 * version  变更日期       修改人    修改说明
 * ------------------------------------------
 * V1.0.0   2022/3/8     CHY     初版
 * ──────────────────────────────────────────
 */
public class ReflectService {

    /**
     * 服务名称
     *
     * @param name
     */
    public void sayHello(String name) {
        System.out.println("Hello " + name);
    }

    public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException {
        //通过反射创建ReflectService对象
        Object service = Class.forName(ReflectService.class.getName()).newInstance();
        //获取服务方法-sayHello
        Method method = service.getClass().getMethod("sayHello", String.class);
        //反射调用方法
        method.invoke(service, "zhangsan");
    }
}
